Blockchain: Is it a hype or a hoax?  9

Consensus algorithm

Consensus is a mechanism to reach an agreement in a group. A consensus

algorithm (also known as a consensus mechanism or consensus protocol) is

a digital method by which a decision can be reached in a decentralised envi-

ronment. In theory, an attacker can compromise consensus by controlling

51% of the network. Consensus mechanisms are designed to make a ‘51%

attack’ unfeasible or difficult.

In order to understand consensus, it is essential to learn more about the

‘Byzantine Generals’ Problem’.

Situation and Task:

There is a group of Byzantine generals. They want to attack a city in a

coordinated fashion as that is the only way to win.

Problem:

• The generals and their armies are scattered and far away, so central-

ised authority is impossible. This makes it difficult to support coordi-

nated attacks.

• The city has a huge army and the only way to win is if they attack

together at once.

Solution:

In order to make a coordinated attack, the armies on the left of the castle

need to send a messenger to the armies on the right of the castle with a mes-

sage that says ‘ATTACK WEDNESDAY’.

However, if the armies on the right are not prepared for the task and say,

‘NO ATTACK FRIDAY’ and send back the messenger through the city

back to the armies on the left.

This is where they face a problem.

Public

Private

Consortium

Hybrid

Network Structure

Decentralised

Centralised

Partly Decentralised

Partly Decentralised

Access

Permissionless

Permissioned

Permissioned

Mix of Permissioned

and Permissionless

Performance

Slower (~10 minutes)

Faster as number of

participants are

limited

Vary by number of

participants nodes in

the network

Vary by number of

participants nodes in

the network

Consensus

Proof of Work, Proof

of Stake

Pre-approved

Proof of Stake, Proof

of authority

Proof of Stake, Proof

of authority

Identity

Anonymous

Known identities

Known identities

Known identities

Use cases

Cryptocurrencies

Confidential

documents audit

Supply chain, Trade

Finance

Land registry for

assets

Current examples

Bitcoin, Ethereum

R3 Corda, Quorum,

Multichain

R3 Corda, Hyper

Ledger

R3 Corda, Hyper

Ledger

Figure 1.4  Types of blockchain.